比特币的安全模型经得起区块奖励减半的考验;市场和技术共同证明,防御51%攻击并不需要突破2100万上限
最近有若干个大V声称随着比特币区块持续减半下去,当区块奖励太少时,矿工收到的奖励会变少,如果比特币价格不翻倍涨就会导致比特币安全模型失败。
工作量证明(PoW)机制,在区块奖励足够时,矿工们采取合作共赢模式,遵守比特币打包规则,对自身的利益更有利。
而当区块奖励变的太少时(价格也没相应地涨),矿工们会转而去攻击网络获利。
因为,他们提出要在适当的时候改变比特币区块奖励减半机制,停止减半,以防止矿工攻击网络。
这个推理是典型的书呆子行为。
市场已经多次证明,矿工奖励不足时,并不会真正威胁比特币的安全性。
BCH和BSV的运行都提供了足够的证据。
BTC、BCH和BSC都采用相同的挖矿算法SHA256,相对于BTC来说,BCH和BSV的价格实在太低,现在对整个SHA256矿机来说,挖BCH和BSV的矿工就是那群书呆子说区块奖励太低了。
现在的bch算力只有btc的1%都不到,bsv的算力更是只有btc的约千分之1 。
可以说现在的bch就是btc经过n轮减半后,区块奖励只剩下现在的1%,即只有 0.0625 btc区块奖励,相当于经过了6轮区块减半( 6.25/2^6=0.0977 )后的奖励数。
但现在BCH安全的很,并不需要超发区块奖励来保证系统安全性。
BSV出现过和500个区块重组的51%攻击事件,但比特币的PoW的安全性模型根本不怕51%攻击,BSV经受过n轮类似的攻击了,还能正常运行。
矿工能够发起51%攻击,对比特币网络(BTC、BCH、BSV都一样)真正造成的伤害主要有两个:
1.攻击期间正常的交易得不到区块确认。
我给你发比特币这种行为,比特币交易的最终到你地址上是一个概率安全性,这笔交易得到的区块确认越高,那就越安全,因为逆转区块(即51%攻击)需要成本,逆转区块数越多成本越高,当区块高到一定数量时,没有谁能担负起这么高的成本。
当挖矿奖励太少时,参与挖矿的算力可能就会很少,而sha256矿机闲置的数量多时,拿这些矿机去发起51%攻击的成本就很低。
这就是为什么bsv数次被51%攻击的原因,因为正常挖bsv的sha256矿机太少,随便租几台矿机就可以发起51%攻击。
但51%攻击也仅仅只能让用户的交易得不到有效的确认,相当于正常情况下,10分钟能得到一个确认,在51%攻击下可能1天、10天都得不到确认。
但51%攻击偷不了用户的币,矿工也无法制造假币,51%攻击仅仅只能让用户发起的交易得不到有效确认。
只要51%攻击一停止,那用户的交易就可以得到有效确认。
事实证明,bsv经过多轮51%攻击后,没有发生过笔交易被矿工偷走的情况,矿工也没有制造过假的bsv币。
2.51%攻击会对交易所等发起双花攻击。
交易所的充值提现原理是这样的:
用户充值比特币进交易所,当充值交易确认数达到1时,交易所就给用户入账,用户就可以将btc卖掉了。
当充值交易确认数达到6时,交易所就允许用户将充值的币(或卖成了usdt等)提现走。
当发生51%攻击时,如果攻击者先给交易所充值1万个BTC,交易所入账后,攻击者立刻卖掉换成ETH,然后等到充值交易确认数达到6时,攻击者将所有卖到的ETH提现走。
攻击者在充值交易发起的同时就展开了对BTC网络发起51%攻击,即从充值交易被确认的上一个区块发起挖矿,并且持续挖到7个区块(假定正常的链现在只挖到6个区块),然后一下子将这7个区块广播出来,这样网络上就出现一条比刚才那6个区块还长一个区块的更长链,这时,所有的其他矿工都会放弃这条6个区块的链,改认为攻击者那条7个区块的链是有效链。
而攻击者将原来的充值交易里的1万个比特币,在这个7个区块里被替换成了另外一笔交易发送到自己的地址上。
这时,交易所原先入账的那1万个比特币又自动消失了,而且交易所还损失了被攻击者提走的ETH。
这就是双花攻击,受损的仅仅是交易所。
双花攻击还可以攻击其他类似的接受比特币,并在有限确认数后即给买家发货的生意。
但现在交易所的充值确认系统已经有足够多的能力来防御双花攻击,KYC就是最简直有效的办法。在KYC下,你敢去双花交易所,分分钟把你抓起来。
双花攻击现在重点攻击的是跨链桥,这就是为什么现在所有的跨链桥都不怎么支持PoW链的原因,因为PoW可以被51%攻击双花,但PoS机制是确定性的区块确认,在达到一定数量区块后交易就无法被逆转。
但即使是bsv确实有交易所被双花攻击过,一度交易所只接受144个区块确认后入账,并且在500个区块确认后才允许提现。
事实证明,个别交易所被双花,并没有破坏掉bsv的安全体系,bsv还是那样,受损的只是个别交易所。
另外,从技术上讲,真要防止51%攻击,在技术上是非常简单的,只需要在区块上加一个动态checkpoint(检查点)。
检查点本质上是一个hash值,是包含此区块及前面所有区块数据的hash值。包含检查点的区块就是不可被重组的区块。
中本聪发布的第一个bitcoin版本里,每500个区块就有一个检查点。这就是为什么比特币无法被重组500个区块以上。最多只能被重组500个区块,不能更多了。
这也就是为什么bsv只发生过被重组500个区块的攻击。
现在的区块确认是确认的链,如PoS,其实采用的都是这种checkpoint技术。已经被充分验证是安全可行的。
那些声称比特币需要突破2100w上限的人,可能另有企图。